package com.class04.error;

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @ClassDescription:
 * 全局异常处理器
 * @JdkVersion: 17
 * @Author: yxy
 * @Created: 2023/12/12 17:08
 */
//全局异常发生，会走此类写的handler！

@RestControllerAdvice//@ControllerAdvice+@ResponseBody
//@ControllerAdvice//可以返回逻辑视图转发和重定向
//@ResponseBody直接返回json字符串
public class GlobalExceptionHandler {
//    发生异常  -》 @ControllerAdvice注解的类型 -》
// @ExceptionHandler(指定的异常) -》handler
//    指定异常  可以精准查找，或者查找父异常
    @ExceptionHandler(ArithmeticException.class)
    public Object arithmeticException(ArithmeticException e){
//        自定义处理异常即可 handler
        String message = e.getMessage();
        System.out.println("message = " + message);
        return message;
    }
    @ExceptionHandler(Exception.class)
    public Object exceptionHandler(Exception e){
        //   自定义处理异常即可 handler
        String message = e.getMessage(); System.out.println("message = " + message);
        return message;
    }
}
